import java.util.HashMap;

public class demo1 {
    class Solution {
        public int longestSubsequence(int[] arr, int difference) {
            // int n=arr.length;
            // int[]dp=new int[n];
            // for(int i=0;i<n;i++)dp[i]=1;
            // int ret=0;
            // for(int i=1;i<n;i++){
            //     for(int j=i-1;j>=0;j--){
            //         if(arr[i]-arr[j]==difference){
            //             dp[i]=Math.max(dp[i],dp[j]+1);
            //         }
            //     }
            //     ret=Math.max(dp[i],ret);
            // }
            // return ret;
            int ret=0;
            HashMap<Integer,Integer>map=new HashMap<>();
            for(int num:arr){
               map.put(num-difference, map.getOrDefault(num-difference,0)+1);
               ret=Math.max(ret,map.get(num-difference));
            }
            return ret;
        }
    }
}
